package day11;

import java.util.Arrays;
import java.util.Scanner;

//测试 String工具类
public class Test2_String {
    public static void main(String[] args) {
        //1, 创建String对象 -- 本质上就是维护了一个char[]
        char[] c = {'h','e','l','l','o'};
        //触发String(char[] value)构造方法
        String s = new String(c);
        String s2 = "hello" ;//简写形式
        //TODO 2, 常用方法测试
        System.out.println( s.charAt(4) );//根据下标获取对应的字符
        System.out.println( s.concat("hello") );//拼接字符串
        System.out.println( s.contains("abc") );//判断是否包含
        System.out.println( s.endsWith("lo") );//判断是否以指定的后缀结束
        System.out.println( s.equals("123") );//判断是否相等
        System.out.println( s.hashCode() );//获取哈希码值
        System.out.println( s.indexOf("l") );//获取指定的数据第一次出现的索引值
        System.out.println( s.isEmpty() );//判断是否为空
        System.out.println( s.lastIndexOf("l") );//获取指定的数据 最后一次出现的索引值
        System.out.println( s.length() );//获取长度

        System.out.println( s.replace('e','9') );//替换字符
        System.out.println( s.startsWith("123") );//判断是否以123开始
        System.out.println( s.substring(2) );//从2开始向后截取完
        System.out.println( s.substring(1,4) );//从1开始到4结束,含头不含尾
        System.out.println( s.toLowerCase() );//全转小写
        System.out.println( s.toUpperCase() );//全转大写

        s = " hel lo  ";
        System.out.println( s.trim() );//去除前面和后面空格

        char[] cs = s.toCharArray();//把s里的数据存入char[]
        System.out.println( cs );

        byte[] bs = s.getBytes();//把s里的每个字符转成数字存入byte[]
        //[32, 104, 101, 108, 32, 108, 111, 32, 32]
        System.out.println( Arrays.toString(bs) );

        s = "ab1c1d1e1f";
        String[] ss = s.split("1");//按照指定的规则切割字符串
        //[ab, c, d, e, f]
        System.out.println( Arrays.toString(ss) );

        String num = String.valueOf(10);//把其它类型转成String类型
        System.out.println(num);

        //TODO 练习
        //需求: 接收用户输入的一串数据 ,,,,获取并打印每个数据
        String input = new Scanner(System.in).nextLine();
        for (int i = 0; i < input.length() ; i++) {
            char data = input.charAt(i) ;
            System.out.println( data);
        }

    }
}
